package com.project.sianet.data;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import android.content.Context;
import android.graphics.Typeface;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.project.sianet.R;
import com.project.sianet.entidades.*;
import com.project.sianet.util.TypefaceManager;

public class MensajeArrayAdapter extends ArrayAdapter<Mensaje> {

	private static final String tag = "MensajeArrayAdapter";
    private Context context;
    private TextView msjeDe;
    private TextView msjeAsunto;
    private TextView msjeFecha;
    private ImageView msjeLeido, msjeAdjunto;
    private List<Mensaje> mensajes = new ArrayList<Mensaje>();
    SimpleDateFormat isoFormat;
    
    public MensajeArrayAdapter(Context context, int textViewResourceId,
            List<Mensaje> objects) {
        super(context, textViewResourceId, objects);
        this.context = context;
        this.mensajes = objects;
        
        isoFormat = new SimpleDateFormat("dd-MMM HH:mm");
//        isoFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
    }
    
    public int getCount() {
        return this.mensajes.size();
    }
 
    public Mensaje getItem(int index) {
        return this.mensajes.get(index);
    }
    
    public View getView(int position, View convertView, ViewGroup parent) {
        View row = convertView;
        if (row == null) {
            // ROW INFLATION
            Log.d(tag, "Starting XML Row Inflation ... ");
            LayoutInflater inflater = (LayoutInflater) this.getContext()
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            row = inflater.inflate(R.layout.mensajes_list, parent, false);
            Log.d(tag, "Successfully completed XML Row Inflation!");
        }
 
        Mensaje mensaje = getItem(position);

        msjeDe = (TextView) row.findViewById(R.id.msje_de);
        msjeAsunto = (TextView) row.findViewById(R.id.msje_asunto);
        msjeFecha = (TextView) row.findViewById(R.id.msje_fecha);
        msjeLeido = (ImageView) row.findViewById(R.id.msje_icon);
        msjeAdjunto = (ImageView) row.findViewById(R.id.msje_ico_adj);
        msjeDe.setText(mensaje.getMailDe());
        msjeAsunto.setText(mensaje.getMailAsunto());
        msjeFecha.setText(isoFormat.format(mensaje.getMailFecha()));
        
        msjeAdjunto.setVisibility(mensaje.getMailArchivos().size() > 0 || !TextUtils.isEmpty(mensaje.getMailArchivo()) ? View.VISIBLE : View.GONE);
        
        if (mensaje.getMailLeido()) {
        	msjeLeido.setImageResource(R.drawable.ic_msje_leido);
        	msjeAsunto.setTypeface(TypefaceManager.getInstance().getTypeface("MavenPro"), Typeface.NORMAL);
        } else {
        	msjeLeido.setImageResource(R.drawable.ic_msje_noleido);
        	msjeAsunto.setTypeface(TypefaceManager.getInstance().getTypeface("MavenPro"), Typeface.BOLD);
        }

        return row;
    }
	
}
